/*
	2018年8月14日18:40:33
	本程序说明了：
				1.非静态属性或方法的可以访问静态的态属性或方法与非静态的态属性或方法。
				
				2.静态的属性或方法只能访问静态的属性或方法，无法访问非静态的属性或方法。
				
				3.静态的属性或函数在启动类中可以直接用类名.属性,类名.函数
				  或（对象.属性,对象.函数）进行操作。
				  
				4.非静态的属性或函数在启动类中只能用对象.属性,对象.函数
				  进行操作。
*/
class A
{
	public int i=66;
	public static int j=88;
	public void f()
	{
		i=666;//ok
		j=888;//ok,说明非静态的在类的内部可以访问静态的与非静态的。
	}
	public static void g()
	{
		//i=666;// 错误: 无法从静态上下文中引用非静态 变量 i。
		j=888;//ok
	}           //说明静态的方法只能访问静态的属性。不能访问非静态的属性。
}
public class staticyongfa
{
	public static void main(String[] args)
	{
		A aa1=new A();
		A.j=888;//ok
		aa1.j=888;//ok
		System.out.printf("%d",A.j);//ok,运行结果：888
		aa1.g()//ok
		A.g();//ok  说明：静态的属性可以直接用类名.属性,类名.函数（对象.属性,对象.函数）进行操作。
		A.i=666;//: 错误: 无法从静态上下文中引用非静态 变量 i
		A.f();// 错误: 无法从静态上下文中引用非静态 方法 f(),
		      // 说明：非静态的属性不可以直接用类名.属性或（类名.函数）进行操作。
	}
}